# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/input/goodix,gt7375p.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Goodix GT7375P touchscreen

maintainers:
  - Douglas Anderson <dianders@chromium.org>

description:
  Supports the Goodix GT7375P touchscreen.
  This touchscreen uses the i2c-hid protocol but has some non-standard
  power sequencing required.

properties:
  compatible:
    oneOf:
      - const: goodix,gt7375p
      - items:
          - const: goodix,gt7986u
          - const: goodix,gt7375p

  reg:
    enum:
      - 0x5d
      - 0x14

  interrupts:
    maxItems: 1

  reset-gpios:
    true

  vdd-supply:
    description: The 3.3V supply to the touchscreen.

  mainboard-vddio-supply:
    description:
      The supply on the main board needed to power up IO signals going
      to the touchscreen. This supply need not go to the touchscreen
      itself as long as it allows the main board to make signals compatible
      with what the touchscreen is expecting for its IO rails.

required:
  - compatible
  - reg
  - interrupts
  - reset-gpios
  - vdd-supply

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/qcom,rpmh.h>
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/interrupt-controller/irq.h>

    i2c {
      #address-cells = <1>;
      #size-cells = <0>;

      ap_ts: touchscreen@5d {
        compatible = "goodix,gt7375p";
        reg = <0x5d>;

        interrupt-parent = <&tlmm>;
        interrupts = <9 IRQ_TYPE_LEVEL_LOW>;

        reset-gpios = <&tlmm 8 GPIO_ACTIVE_LOW>;
        vdd-supply = <&pp3300_ts>;
      };
    };
